package com.wpzf.system.mapper;

import com.wpzf.system.api.domain.SysUserPlatformRole;
import com.wpzf.system.domain.SysPlatformRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface SysUserPlatformRoleMapper {
    /**
     * 通过用户ID删除用户平台角色关联
     *
     * @param userId 用户ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByUserId(Long userId);

    /**
     * 批量删除用户平台角色关联
     *
     * @param userIds 用户ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByUserIds(Long[] userIds);

    /**
     * 通过角色ID删除用户平台角色关联
     *
     * @param roleId 角色ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByRoleId(Long roleId);

    /**
     * 批量删除用户平台角色关联
     *
     * @param roleIds 角色ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByRoleIds(Long[] roleIds);

    /**
     * 通过平台ID删除用户平台角色关联
     *
     * @param platformId 平台ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByPlatformId(Long platformId);

    /**
     * 批量删除用户平台角色关联
     *
     * @param platformIds 平台ID
     * @return 结果
     */
    public int deleteUserPlatformRoleByPlatformIds(Long[] platformIds);

    /**
     * 通过角色ID查询角色使用数量
     *
     * @param roleId 角色ID
     * @return 结果
     */
    public int countUserPlatformRoleByRoleId(Long roleId);

    /**
     * 批量新增用户平台角色信息
     *
     * @param UserPlatformRoleList 用户角色列表
     * @return 结果
     */
    public int batchUserPlatformRole(List<SysUserPlatformRole> UserPlatformRoleList);

    public List<SysPlatformRole> getUserPlatformRoleByUserId(Long userId);

    public List<SysPlatformRole> getUserPlatformRoleAll();

    public List<SysUserPlatformRole> getUserPlatformRole(Long userId);

    public Long getRoleByUserPlatform(SysUserPlatformRole userPlatformRole);
}
